﻿using UnityEngine;

public class Score : MonoBehaviour {

	// 表示分数的文本UI组件
	public GUIText scoreGUIText;

	// 表示最高分的文本UI组件
	public GUIText highScoreGUIText;

	// 分数
	private int score;

	// 最高分
	private int highScore;

	// 用PlayerPrefs存档key
	private string highScoreKey = "highScore";

	void Start ( ) {
		Initialize ( );
	}

	void Update ( ) {
		// 如果突破了最高分更新最高分
		if (highScore < score) {
			highScore = score;
		}

		// ・表示分数和最高分
		scoreGUIText.text = score.ToString ( );
		highScoreGUIText.text = "HighScore : " + highScore.ToString ( );
	}

	// 
	private void Initialize ( ) {
		// 重置分数
		score = 0;

		// 获取最高分。保存记录中没有的话默认是0。
		highScore = PlayerPrefs.GetInt (highScoreKey, 0);
	}

	// 加分
	public void AddPoint (int point) {
		score = score + point;
	}

	// 保存最高分
	public void Save ( ) {
		// 保存最高分
		PlayerPrefs.SetInt (highScoreKey, highScore);
		PlayerPrefs.Save ( );

		// 回到初始化状态
		Initialize ( );
	}
}
